import axiosHttp from './http.js'
//带三方类库
import qs from 'qs'

/**
 *
 * @param url 请求地址
 * @param data 携带参数
 * @param type 请求类型
 * @returns {*}
 */
export const request=(url,data,type)=>{
  //这里传递的参数可以对http.js里的request的config配置进行最终加工
  return axiosHttp({
    url:url,
    data:qs.stringify(data),
    method:type||'POST',
  })
}
/*这种写法是ok的，可以用，但我这里的数据管理是在每个页面中的，所有如果成功回调里有操作数据就不会生效，因为http.js中没那个数据，他也碰不到
  可惜，如果是vuex统一管理就完全ok
  export const request=(url,data,success200,type)=>{
  //这里传递的参数可以对http.js里的request的config配置进行最终加工
  return axiosHttp({
    url:url,
    data:qs.stringify(data),
    method:type||'POST',
    success200:success200//这里我把回调函数传进来，http.js的config配置项会收到
  })
*/

/**
 * 参数是数组，后端List接收
 * @param url
 * @param data
 * @param header
 * @param type
 * @returns {AxiosPromise}
 */
export const requestJson=(url,data,header,type)=>{
  return axiosHttp({
    url:url,
    data:JSON.stringify(data),
    headers:header,
    method:type||'POST'
  })
}

/**
 * 后端map接收
 * @param url
 * @param data
 * @param header
 * @param type
 * @returns {AxiosPromise}
 */
export const requestJsonMap=(url,data,header,type)=>{
  return axiosHttp({
    url:url,
    data:data,
    headers:header,
    method:type||'POST'
  })
}

